#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys
import re

if len(sys.argv)<2:
    print "usage: ",sys.argv[0]," [FILES]"
    sys.exit(1)

def count_of_s(string):
    """
    Возвращает количество символа 's' в строке.
    """
    result=0
    for i in string:
        if i == "s":
            result+=1
    return result

def print_tabs(tabs):
    """
    печать содержимого списка заполнителей.
    """
    for i in tabs:
        print i,

head = """
%% main.tex --- файл-обертка для диплома

\\documentclass[russian,utf8,simple,floatsection]{eskdtext} 

\\include{defs}  % вставляем содержимое служебных инструкций из defs.tex

\\ESKDcolumnII{Содержание}
\\begin{document}
\section{Содержание.}
\\begin{itemize}
"""

tail="""
\\end{document}
"""
files=sys.argv[1:]

rex=re.compile("([sub]*)section{(.*)}")
prev=0
char_of_tab=" " # символ заполнитель
tabs=[]         # список заполнителей перед строкой. Для красивого выравнивания.

print head

for f in files:
    with open(f,"r") as fd:
        for line in fd.readlines():
            string=line.strip()
            res=rex.search(string)
            if res is None:
                continue

            subs=res.groups()[0] # строчка с sub`ами
            text=res.groups()[1] # название раздела
            s_count=count_of_s(subs)

            if prev<s_count:
                tabs.append(char_of_tab)
                print_tabs(tabs)
                print "\\begin{itemize}"
                prev=s_count

            elif prev>s_count:
                for i in range(prev-s_count):
                    print_tabs(tabs)
                    print "\\end{itemize}"
                prev=s_count
                tabs.pop()
            
            print_tabs(tabs)
            print r"\item ",text

tl=len(tabs)
for i in range(tl):
    print_tabs(tabs)
    print "\\end{itemize}"
    tabs.pop()
print tail
